package cn.bs.busuo.account.pojo.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.*;
import java.io.Serializable;

import static cn.bs.busuo.common.validation.account.UserRules.*;

/**
* 用户实体类
*/
@Data
public class UserAddNewParam implements Serializable {


    /**
    * 用户名
    */
    @ApiModelProperty("用户名")
    @NotEmpty(message = MESSAGE_USERNAME_NOT_NULL)
    @Pattern(regexp = PATTERN_USERNAME, message = MESSAGE_USERNAME_PATTERN)
    private String username;
    /**
    * 密码（原文）
    */
    @Size(min= 8,max= 20,message="密码长度应为8到20之间")
    @ApiModelProperty("密码（原文）")
    private String password;
    /**
    * 头像URL
    */
    @ApiModelProperty("头像URL")
    private String avatar;

    /**
    * 用户年龄
    */
    @ApiModelProperty("用户年龄")
    @Range(min = 1,max = 120,message ="年龄必须为正数且小于120" )
    private Integer age;

    /**
    * 性别
    */
    @NotNull(message="性别不能为空")
    @Pattern(regexp = "男|女|未知", message = "性别只能为男或女或未知")
    @ApiModelProperty("性别")
    private String gender;
    /**
    * 简介
    */
    @Size(max= 255,message="简介长度不能超过255")
    @ApiModelProperty("简介")
    private String description;

}
